package com.welink.admin.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author welink
 * @since 2025-04-03
 */
@Getter
@Setter
@TableName("sys_user")
@ApiModel(value = "User对象", description = "用户表")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("用户id")
    @TableId
    private String userId;

    @ApiModelProperty("客户侧员工ID，该用户在租户自身系统的登录标识，用于认证和账号映射（客户内唯一）创建用户成功后会生成对应的WeLink userId 与userId是映射关系")
    private String corpUserid;

    @ApiModelProperty("WeLink登陆绑定手机号，租户内不可重复(其他用户不可见)。支持国家码比如+86-xxxx，如果不传默认是+86")
    private String mobileNumber;

    @ApiModelProperty("状态, 1：未开户2：开户中 3：已开户 4：已销户 5：销户中 6：已失效")
    private Integer userStatus;

    @ApiModelProperty("员工中文姓名")
    private String userNameCn;

    @ApiModelProperty("邮箱")
    private String userEmail;

    @ApiModelProperty("性别。仅：\"\"/M/F,  \"\":空，M: 男, F: 女")
    private String sex;

    @ApiModelProperty("WeLink侧人员userId的主部门ID，当为空时，默认取deptCodes部门信息第一个部门为人员主部门 与mainCorpDept是映射关系")
    private String mainDeptCode;

    @ApiModelProperty("头像url")
    private String avatar;

    @ApiModelProperty("备注信息")
    private String remark;

    @ApiModelProperty("用户是否已激活(用户登陆WeLink客户端表示已激活), 1为已激活，0为未激活")
    private Integer isActivated;

    @ApiModelProperty("是否为企业的管理员，1表示是，0表示不是(默认)")
    private Integer isAdmin;

    @ApiModelProperty("开启高管模式，默认关闭")
    private Integer seniorMode;

    @ApiModelProperty("员工类型。可以自行输入：正式员工；外包；劳务；顾问等")
    private String personType;

    @ApiModelProperty("角色id")
    private String roleIds;
}
